package com.qidianit.task.mapper;

import com.qidianit.task.pojo.Task;
import com.qidianit.task.util.pojo.QdResult;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface TaskMapper {
    List<Task> selectList(@Param("projectId") String projectId , @Param("parentId") Long parentId);

    Task selectById(Long taskId);

    int insertTask(Task task);

    int updateById(Task task);

    void replaceById(Task task);

    void deleteByTaskId(Long taskId);//按照taskId删除

    //由删除的task对应的taskParentId对taskParentId进行搜索比对
    //taskParentId存在2条及以上,判断为true,不修改task_parent的值
    Long getTaskParentId(Long taskParentId);

    //由子任务获得的父任务的id进行taskParent修改
    void changeTaskParent(Long taskId);

    //统计每个任务下的任务数量
    Long sumTaskNum(String projectId);

    //通过projectId查询下辖的task
    QdResult getTaskByProjectId(String projectId);
}
